#include "BulletDynamics/Featherstone/btMultiBodyLinkCollider.h"
#ifdef __cplusplus
extern "C" {
#endif
btMultiBodyLinkColliderFloatData* bullet_NewbtMultiBodyLinkColliderFloatData(){
	btMultiBodyLinkColliderFloatData* wrap_out = new btMultiBodyLinkColliderFloatData();
	return wrap_out;
}

btCollisionObjectFloatData* bullet_btMultiBodyLinkColliderFloatData_GetFieldOfM_colObjData(btMultiBodyLinkColliderFloatData* c_this){
	return (btCollisionObjectFloatData*)(&c_this->m_colObjData);
}

int bullet_btMultiBodyLinkColliderFloatData_GetFieldOfM_link(btMultiBodyLinkColliderFloatData* c_this){
	return (int)(c_this->m_link);
}

btMultiBodyFloatData** bullet_btMultiBodyLinkColliderFloatData_GetFieldOfM_multiBody(btMultiBodyLinkColliderFloatData* c_this){
	return (btMultiBodyFloatData**)(&c_this->m_multiBody);
}

char** bullet_btMultiBodyLinkColliderFloatData_GetFieldOfM_padding(btMultiBodyLinkColliderFloatData* c_this){
	return (char**)(&c_this->m_padding);
}

btMultiBodyLinkColliderDoubleData* bullet_NewbtMultiBodyLinkColliderDoubleData(){
	btMultiBodyLinkColliderDoubleData* wrap_out = new btMultiBodyLinkColliderDoubleData();
	return wrap_out;
}

btCollisionObjectDoubleData* bullet_btMultiBodyLinkColliderDoubleData_GetFieldOfM_colObjData(btMultiBodyLinkColliderDoubleData* c_this){
	return (btCollisionObjectDoubleData*)(&c_this->m_colObjData);
}

int bullet_btMultiBodyLinkColliderDoubleData_GetFieldOfM_link(btMultiBodyLinkColliderDoubleData* c_this){
	return (int)(c_this->m_link);
}

btMultiBodyDoubleData** bullet_btMultiBodyLinkColliderDoubleData_GetFieldOfM_multiBody(btMultiBodyLinkColliderDoubleData* c_this){
	return (btMultiBodyDoubleData**)(&c_this->m_multiBody);
}

char** bullet_btMultiBodyLinkColliderDoubleData_GetFieldOfM_padding(btMultiBodyLinkColliderDoubleData* c_this){
	return (char**)(&c_this->m_padding);
}

btMultiBodyLinkCollider* bullet_NewbtMultiBodyLinkCollider(btMultiBody* multiBody,int link){
	btMultiBody * c_arg_multiBody=(btMultiBody *)(void*)(multiBody);
	int c_arg_link=link;
	btMultiBodyLinkCollider* wrap_out = new btMultiBodyLinkCollider(c_arg_multiBody,c_arg_link);
	return wrap_out;
}

int bullet_btMultiBodyLinkCollider_GetFieldOfM_link(btMultiBodyLinkCollider* c_this){
	return (int)(c_this->m_link);
}

bool bullet_btMultiBodyLinkCollider_isKinematic(btMultiBodyLinkCollider* c_this){
	bool c_out = c_this->isKinematic();
	bool wrap_out = (c_out);
	return wrap_out;
}

bool bullet_btMultiBodyLinkCollider_isStaticOrKinematic(btMultiBodyLinkCollider* c_this){
	bool c_out = c_this->isStaticOrKinematic();
	bool wrap_out = (c_out);
	return wrap_out;
}

void bullet_btMultiBodyLinkCollider_setDynamicType(btMultiBodyLinkCollider* c_this,int dynamicType){
	int c_arg_dynamicType=dynamicType;
	c_this->setDynamicType(c_arg_dynamicType);
}

#ifdef __cplusplus
}
#endif
